package org.wmq.taskschedule.biz.model.DO;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Param {
    // Canny边缘检测参数
    private int threshold1; // 第一个阈值（低阈值）
    private int threshold2; // 第二个阈值（高阈值）
    private int apertureSize; // Sobel算子的孔径大小
    private boolean l2gradient; // 是否使用L2梯度范数
    
    // 二值化参数
    private double threshold; // 阈值
    private double maxValue;  // 最大值
    private int thresholdType; // 阈值类型
    
    // 高斯模糊参数
    private int kernelWidth; // 核宽度
    private int kernelHeight; // 核高度
    private double sigmaX; // X方向标准差
    private double sigmaY; // Y方向标准差
    
    // 灰度化参数
    private int conversionType; // 转换类型
    
    // 直方图均衡化参数
    private boolean isColorImage; // 是否为彩色图像
    
    // 对比度调整参数
    private double alpha; // 对比度系数
    private double beta; // 亮度增量
    
    // 双边滤波参数
    private int diameter; // 过滤期间使用的每个像素邻域的直径
    private double sigmaColor; // 颜色空间中的sigma值
    private double sigmaSpace; // 坐标空间中的sigma值
    
    // 图像缩放参数
    private int newWidth; // 新宽度
    private int newHeight; // 新高度
    private int interpolationMethod; // 插值方法
    
    // 图像旋转参数
    private double angle; // 旋转角度（度）
    private int scale; // 缩放比例
    private boolean keepSize; // 是否保持原始大小
    
    // 中值模糊参数
    private int kernelSize; // 核大小
    
    // 形态学操作参数
    private int operationType; // 操作类型
    private int iterations; // 迭代次数
    
    // Sobel边缘检测参数
    private int ddepth; // 输出图像的深度
    private int dx; // x方向导数的阶数
    private int dy; // y方向导数的阶数
    private double delta; // 可选的delta值，加到结果中
    
    // 图像锐化参数
    private int ksize; // 核大小
    
    // 自适应阈值参数
    private int adaptiveMethod; // 自适应方法
    private int blockSize; // 块大小
    private double C; // 常数
    
    // 通用参数
    private String description; // 算法描述
}
